home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -screenplay- / shareware / solitarexx / scripts / frenchscarf.srx < prev    next >
Text File  |  2000-02-29  |  2KB  |  81 lines

  1. /************************************\
  2. ** French Scarf v1.0 for Solitarexx **
  3. **       by Michal Szafranski       **
  4. \************************************/
  5. OPTIONS RESULTS
  6.  
  7. tex = '"French Scarf"'
  8. wintex = '"We Have a Winner"'
  9. ADDBUTTON 0 10 "Start"
  10. ADDTEXT 4 42 tex 6
  11. ADDSPACE 6 9
  12. ADDBUTTON 12 10 "Abort"
  13. ADDTEXT 14 42 tex 6
  14. SELECTGUI 1
  15.  
  16. SCREENSIZE 2 6 10 0
  17. DO i = 0 TO 9
  18.     NEWSTACK i 8 0 i 0 0 0 6
  19.     stack.i = RESULT
  20. END
  21. NEWSTACK 10 1 1 0 1 0 6 18
  22. deck = RESULT
  23. ADDCARDS deck SHUFFLED
  24.  
  25. DO FOREVER
  26.     ACTION
  27.     PARSE VAR RESULT act rest
  28.     IF act = 1 THEN EXIT
  29.     IF act = 3 THEN CALL GAME
  30. END
  31.  
  32. GAME:
  33.     CLEANUP deck
  34.     SETGADGET 14 STR tex
  35.     SELECTGUI 4
  36.     sel = 0
  37.     fin = 0
  38.     mov = 1
  39.     DO i=0 TO 9
  40.         CARDSELECT deck 5
  41.         MOVECARDS deck stack.i REVERSE
  42.     END
  43.     DO FOREVER
  44.         ACTION
  45.         PARSE VAR RESULT act stack sid card
  46.         SELECT
  47.         WHEN act = 1 THEN EXIT
  48.         WHEN act = 2 & mov = 1 THEN IF (sid//4)=0 THEN DO
  49.             mov = 0
  50.             CARDSELECT deck 1
  51.             MOVECARDS deck stack.sid REVERSE
  52.             sid = sid+1
  53.             CARDSELECT deck 1
  54.             MOVECARDS deck stack.sid REVERSE
  55.         END
  56.         ELSE ERRBEEP
  57.         WHEN act = 2 & card>0 & sid<10 THEN IF sel=0 THEN sel = stack
  58.         ELSE CALL DOSTACKS
  59.         WHEN act = 3 THEN DO
  60.             SELECTGUI 1
  61.             RETURN
  62.         END
  63.         OTHERWISE ERRBEEP
  64.         END
  65.     END
  66. RETURN
  67. DOSTACKS:
  68.     CARDSELECT sel 0 RELATIVE
  69.     PARSE VAR RESULT . w1 .
  70.     CARDSELECT stack 1
  71.     PARSE VAR RESULT . w2 .
  72.     IF w1 = w2 & sel ~= stack THEN DO
  73.         MOVECARDS sel deck
  74.         MOVECARDS stack deck
  75.         fin = fin +2
  76.         IF fin = 52 THEN SETGADGET 14 STR wintex
  77.     END
  78.     ELSE ERRBEEP
  79.     sel = 0
  80. RETURN
  81.